home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tex / inputs / bsf.sty < prev    next >
Text File  |  1991-05-20  |  5KB  |  98 lines

  1. % Provide access to the boldface san serif type style for LaTeX.  Once you
  2. % have included "bsf" as a style option, you can use the \bsf command to
  3. % select the boldface san serif style, just as you would select the usual
  4. % boldface Roman style with \bf, EXCEPT:
  5. %
  6. %    The various fonts defined here are all "loaded on demand".  As
  7. %    discussed in the LaTeX book, Section C.14.4, a loaded on demand
  8. %    font is subject to two restrictions when used in math mode:
  9. %
  10. %    - The font must be used OUTSIDE of math mode before it is used
  11. %      INSIDE of math mode.  The \load command can be used to get
  12. %      around this restriction.
  13. %
  14. %    - Only a single font size is available within math mode - the
  15. %      display, text, script and scriptscriptfonts will all be the
  16. %      same.  This can be avoided ONLY by changing the definitions
  17. %      given here to pre-load the appropriate fonts; see LFONTS.TEX
  18. %      for further information.  (Alternatively, \@getfont could be
  19. %      made more clever.)  Note that pre-loading the fonts could cause
  20. %      you to fill font space with fonts you never really use.
  21. %
  22. % In order to allow other style files that need access to \bsf to input this
  23. % file safely, it is designed so that an attempt to input it a second time -
  24. % or, more exactly, when command "\bsf" is already defined - is ignored.
  25. %
  26. % This file can be adapted easily to define other font type styles.  The real
  27. % limit is likely to come from the requirement that each style so defined must
  28. % be given a unique family number - TeX only supports 16 families and LaTeX
  29. % as usually configured already uses 10.  The right way to avoid this problem
  30. % is to modify \@getfont so that it ignores a family number of -1.  Fonts
  31. % so specified would not be usable in math mode, but that's no big deal; you
  32. % don't WANT to use tons of non-math fonts in math mode anyway.
  33. %
  34. % As currently written, this file assumes that you have boldface san serif
  35. % fonts available at the following point sizes:
  36. %
  37. %    lcmssb8
  38. %    lcmssb8 at 9pt
  39. %    cmssbx10
  40. %    cmssbx10 at 11pt
  41. %    cmssbx10 at 12pt
  42. %    cmssbx10 at 17pt
  43. %    cmssbx10 at 25pt
  44. %
  45. % All but the last of these should be commonly available.  I'm not sure about
  46. % the last one; LFONTS.TEX does not assume the availability of ANY 25 pt fonts
  47. % other than Roman.  If necessary, change the definition of \bsfxxv@ to
  48. % \@subfont\bsf\rm.  (Alternatively, if you have boldface sans serif fonts
  49. % at sizes smaller than 8pt, you might want to change the definitions of
  50. % \bsfv@, \bsfvi@, and \bsfvii@.)
  51. %
  52. % Technical note:  It is possible to do without the \bsf<size>@ macros by
  53. % including their contents, with a whole bunch of \@prtct's, within the
  54. % \@addfontinfo definitions.  This is a pain to do, and probably doesn't end
  55. % up saving any space anyway.  This way costs you a bunch of extra macros,
  56. % but it's a LOT easier to understand!
  57. %
  58. % Written by Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)
  59. % Modified, 27-Jan-89 by Jerry Leichter
  60. %    Fixed typos in file name for lcmssb8.
  61. % Modified, 16-Jun-89 by Jerry Leichter
  62. %    Changed family name for consistency.  Fixed a typo in the definition
  63. %    for 9pt, introduced by the 27-Jan fix.  Sigh, such a *simple* file....
  64.  
  65. \expandafter\ifx\csname bsf\endcsname\relax        %Once only, please
  66. % Note:  It's a pain to use \@ifundefined here - we don't want to pass the
  67. % rest of the definitions as an argument, but we can't easily use \endinput
  68. % since, with docsty, we can't control where the line breaks occur.
  69.  
  70. \typeout{Document Option `bsf': 16 Jun 89}
  71. \def\bsf{\protect\pbsf}
  72. \newfam\bsffam
  73. \@addfontinfo\@vpt{\@prtct\bsfv@}
  74.   \def\bsfv@{\def\pbsf{\@subfont\bsf\bf}}
  75. \@addfontinfo\@vipt{\@prtct\bsfvi@}
  76.   \def\bsfvi@{\def\pbsf{\@subfont\bsf\bf}}
  77. \@addfontinfo\@viipt{\@prtct\bsfvii@}
  78.   \def\bsfvii@{\def\pbsf{\@subfont\bsf\bf}}
  79. \@addfontinfo\@viiipt{\@prtct\bsfviii@}
  80.   \def\bsfviii@{\def\pbsf{\@getfont\pbsf\bsffam\@viiipt{lcmssb8}}}
  81. \@addfontinfo\@ixpt{\@prtct\bsfx@}
  82.   \def\bsfx@{\def\pbsf{\@getfont\pbsf\bsffam\@ixpt{lcmssb8\@halfmag}}}
  83. \@addfontinfo\@xpt{\@prtct\bsfx@}
  84.   \def\bsfx@{\def\pbsf{\@getfont\pbsf\bsffam\@xpt{cmssbx10}}}
  85. \@addfontinfo\@xipt{\@prtct\bsfxi@}
  86.   \def\bsfxi@{\def\pbsf{\@getfont\pbsf\bsffam\@xipt{cmssbx10\@halfmag}}}
  87. \@addfontinfo\@xiipt{\@prtct\bsfxii@}
  88.   \def\bsfxii@{\def\pbsf{\@getfont\pbsf\bsffam\@xiipt{cmssbx10\@magscale1}}}
  89. \@addfontinfo\@xivpt{\@prtct\bsfxiv@}
  90.   \def\bsfxiv@{\def\pbsf{\@getfont\pbsf\bsffam\@xivpt{cmssbx10\@magscale2}}}
  91. \@addfontinfo\@xviipt{\@prtct\bsfxvii@}
  92.   \def\bsfxvii@{\def\pbsf{\@getfont\pbsf\bsffam\@xviipt{cmssbx10\@magscale3}}}
  93. \@addfontinfo\@xxpt{\@prtct\bsfxx@}
  94.   \def\bsfxx@{\def\pbsf{\@getfont\pbsf\bsffam\@xxpt{cmssbx10\@magscale4}}}
  95. \@addfontinfo\@xxvpt{\@prtct\bsfxxv@}
  96.   \def\bsfxxv@{\def\pbsf{\@getfont\pbsf\bsffam\@xxvpt{cmssbx10\@magscale5}}}
  97. \fi
  98.